1. Technical Field
The present invention is related to a method and system to be utilized in data communications. In particular, the present invention is related to a method and system to be utilized in data communications involving at least one data communications network. Yet still more particularly, the present invention is related to a method and system, to be utilized in data communications involving at least one data communications network wherein bridging and/or routing occurs.
2. Description of the Related Art
Data communications is the transfer of data from one or more sources to one or more sinks that is accomplished (a) via one or more data links between the one or more sources and one or more sinks and (b) according to a protocol. Weik, Communications Standard Dictionary 203 (3rd ed. 1996). A data link is the means of connecting facilities or equipment at one location to facilities or equipment at another location for the purpose of transmitting and receiving data. Weik, Communications Standard Dictionary 206 (3rd ed. 1996). A protocol, in communications, computer, data processing, and control systems, is a set of formal conventions that govern the format and control the interactions between two communicating functional elements in order to achieve efficient and understandable communications. Weik, Communications Standard Dictionary 770 (3rd ed. 1996).
A data communications network is the interconnection of three or more communicating entities (i.e., data sources and/or sinks) over one or more data links. Weik, Communications Standard Dictionary 618 (3rd ed. 1996).
Data communications networks connect and allow communications between multiple data sources and sinks over one or more data links. The concept of a data link includes the media connecting one or more data sources to one or more data sinks, as well as the data communications equipment utilizing the media. The data communications networks utilize protocols to control the interactions between data sources and sinks communicating over the one or more data links. Thus, it follows that such protocols must take into account the data communications requirements of data sources and sinks desiring communication over the one or more data links, and the nature of the underlying,one or more data links themselves, in order to ensure that the requirements of such data sources and sinks are met.
Of necessity, data communication protocols must take into account both the technology of the underlying data links and the data source and sink communications requirements. The underlying data links, data source, and data sink communications requirements give rise to a high degree of complexity.
It has been found that the complexity can be reduced to a manageable level by modularizing the concepts of data communication, as reflected in data communication network protocols. One such well-known modular approach is the International Standards Organization""s Open Systems Interconnections (OSI) 7 layer (or level) model.
Those skilled in the art will recognize that data communication protocols exist which do not follow the OSI model exactly. However, insofar as the OSI model is a conceptual model dealing with the problem of network communications, non-OSI models still provide the same of the OSI model, although the terminology utilized in such protocols may be different from OSI terminology. Notwithstanding the foregoing, the OSI model still provides the most straightforward conceptual approach to the problems involved in network communication, and thus the OSI 7 layer model will be utilized, below, to discuss communications problems which exist in the art. Furthermore, while the OSI model does have seven layers, the first, second, and third levels will be most relevant to the detailed description to follow.
OSI Level 1 is the physical level, and deals with the true electrical signals and electrical circuits that are utilized to carry information. OSI Level 2 is known as the data link layer (or service layer interface/media access control layer when reference is made to a LAN context) and is a conceptual level whereby access to the physical level (OSI Level 1) is actually controlled and coordinated. A good example of OSI Level 2 is LAN protocol, which coordinates and controls access to the physical layer (OSI Level 1), or media over which actual transmission occurs, by use of data frames (packages of binary data) to which are appended headers containing a source address and a destination address. In LAN terminology, these addresses are referred to as media access control (MAC) addresses.
OSI Level 2 deals with access and control of actual media over which data is transmitted. Physical constraints often put an upper limit on the number of stations that can be physically connected (at OSI Level 1). OSI Level 2 defines ways that multiple discontinuous OSI Level 1, or physical, segments can be stitched together to achieve what appears to be one large coherent (or contiguous) network. The OSI Level 2 achieves this by managing xe2x80x9cbridgesxe2x80x9d between physical segments. In Ethernet LAN, these bridges are termed transparent bridges, and in token-ring LAN these bridges are termed source-route bridges.
Conceptually one step removed from OSI Level 2 is OSI Level 3, the network layer. Network designers prefer to work with one large network, with a defined number of homogeneous network addresses. Consequently, OSI Level 3 has been developed. OSI Level 3 allows network designers to treat what may, in fact, be a tremendously large number of non-contiguous network segments strung together by OSI Level 2 entities as one large homogenous network. That is, OSI Level 3 allows network designers to refer to one network level protocol defined set of addresses. OSI Level 3 entities then pass such defined network addresses down to OSI Level 2 entities, which actually figure out where such network addresses are to be located on a true physical network.
OSI Level 2 entities typically achieve this by xe2x80x9cmappingxe2x80x9d the OSI Level 3 network addresses onto OSI Level 2 service layer addresses. Thus, when an OSI Level 3 entity passes a network layer address to an OSI Level 2 entity, the OSI Level 2 entity typically uses a look-up table to convert the OSI Level 3 address into its OSI Level 2 equivalent.
Due to the fact that what appears, from an OSI Level 3 standpoint, to be one large contiguous network, can in fact be many smaller non-contiguous networks stitched together by OSI Level 2 entities, it sometimes happens that an OSI Level 3 address is passed down to an OSI Level 2 entity which does not recognize the OSI Level 3 address. That is, there is no known mapping from the OSI Level 3 address to the OSI Level 2 address.
When this occurs, the typical response of the OSI Level 2 entity is to engage in xe2x80x9cbroadcast (i.e., network exploration is done in order to determine an OSI Level 2 address supporting the OSI Level 3 address in question) Broadcast merely means that the OSI Level 2 entity transmits to every other OSI Level 2 entities with whom it can communicate, and essentially asks if any of those stations support the OSI Level 3 address which is unknown to the OSI Level 2 broadcasting entity. Any such OSI Level 2 entity supporting the OSI Level 3 address can then answer back, and support of the OSI Level 3 address can thereby be established.
When a broadcast occurs, it in effect forces every OSI Level 2 entity, and every OSI Level 3 entity attached to the OSI Level 2 entities, who can xe2x80x9chearxe2x80x9d the OSI Level 2 entity to interrupt what they are doing and determine whether or not they support the OSI Level 3 address in question. For those stations which do not support the address, such interruptions are needless.
In addition, every time that a broadcast message encounters a bridge, the broadcast is retransmitted onto the physical segments which are bridged. Such retransmission loads the network and again interrupts the OSI Level 2 entities connected to the bridged physical segments.
Even given the power of OSI Level 3 to create a large virtual network using disparate physical structures and OSI Level 2 bridges, situations often arise where circumstances or network design factors give rise to the need for more than one OSI Level 3 virtual network. In such cases, OSI Level 3 routers are utilized to seamlessly stitch together the more than one OSI Level 3 virtual networks in a fashion analogous to the way in which OSI Level 2 brides stitch together non-contiguous physical networks to create an OSI Level 3 virtual network.
OSI Level 3 routers usually serve as the interconnection point between at least two OSI Level 3 virtual networks. However, in addition to their function as OSI Level 3 routers, such network nodes also often do xe2x80x9cdouble duty,xe2x80x9d serving as a network point of penetration for one or more users. In practical terms, what this means is that such OSI Level 3 network routers are called upon to both pass data up (e.g. into the OSI Level 4 Transport level) the protocol stack to end users, as well as buffer and retransmit data when data received is to be routed through the OSI Level 3 router, because the network address indicates that the data is destined for another node on another network.
It is not uncommon for a tremendous number of OSI Level 3 virtual networks to be strung together by use of several network routers. It is further not uncommon for the need to arise for communications between data sources and sinks separated from each other by several OSI Level 3 networks and routers. Consequently, in such cases multiple networks must be interconnected by multiple network routers in order for effective communication to take place between the data source and sink.
The type of connection across the multiple network will be dictated by the OSI Level 4 transport layer. The OSI Level 4 transport layer tells the OSI Level 3 what type of connection that the OSI Level 4 transport layer wants established over the network. In some instances, that connection will often need to be such that data units sent through the network will need to arrive at their destination in order. In order to achieve this the OSI Level 3 network layer will generally set up what is known as a virtual circuit.
In a virtual circuit, all data units from source to sink are transmitted through exactly the same network nodes and routers so that the sequencing of the data units is maintained. With respect to the routers and other network nodes in the path, what typically occurs is that received data units are passed upward from OSI Level 2 to OSI Level 3 and the OSI Level 3 network address is examined. Thereafter, if the data unit is destined for the examining node, the data unit is sent upward through the stack. However, if the data unit is to be forwarded, it is passed back down the stack and is retransmitted to the next network node in the path defined by the virtual circuit.
From the standpoint of the OSI Level 3 entities, when the data unit is a virtual circuit data unit and the node merely retransmits the data unit, the processing associated with examining the data unit and passing it on represent (from the standpoint of the examining node) unnecessary overhead. However, the belief under the current state of the art is that such processing is viewed as the price to be paid for the flexibility and power derived from the network communication protocol layeredxe2x80x9d approach, as was discussed above.
As discussed, OSI Level 3 routers interconnect networks. It is common to refer to a network spanned by two routers as a subnetwork. When a virtual circuit path includes transmission through the two routers, communication occurs between the two routers across the subnetwork via transmission through nodes in the subnetwork. Typically, the virtual circuit is set up at initialization and the node-to-node path through each subnetwork spanned by two routers remains constant during the life of the virtual circuit.
The fact that the node-to-node path associated with a virtual circuit remains the same throughout the lifetime of the virtual circuit often gives rise to severe problems. For example, when network traffic becomes inordinately high at one or more nodes within the virtual circuit path the data transmission associated with the virtual circuit is often unduly delayed. However, the current state of the art is that such possible delays have been viewed as the price to be paid for the ability to guarantee that sequencing of data units is preserved, as was discussed above.
New (non-OSI) types of network protocols (such as Asynchronous Transfer Mode (ATM), or Synchronous Optical Network (SONET)) have emerged that do not, in their native form, support the standard well-developed OSI Level 2 and 3 protocols. However, due to the tremendous installed base of OSI-type networks (e.g., Wide Area Networks (WANs), Local Area Networks (LANs), Internet Protocol Networks), such non-OSI networks have been forced to provide emulation of OSI-type networks. Typically, such emulation has been provided by providing an xe2x80x9coverlayxe2x80x9d of software and computational equipment which support the well-defined protocols by accepting data units and doing very fast translations between the disparate protocols. Such operations are virtually always performed at both endpoints of a communication connection as well as at the intermediate nodes between the endpoints. Such emulation overlays merely compound the processing overhead associated with virtual circuits and possible delays associated with network node loading, which were discussed previously.
It is therefore apparent that a need exists for a method and system, to be utilized in data communications involving at least one data communications network wherein broadcast occurs, which decreases processing requirements and the likelihood of communication delay of current communication protocols while preserving the flexibility and power associated with current communications protocols.
It is therefore one object of the present invention to provide a method and system to be utilized in data communications.
It is therefore another object of the present invention to provide a method and system to be utilized in data communications involving at least one data communications network.
It is yet still another object of the present invention to provide a method and system, to be utilized in data communications involving at least one data communications network wherein bridging and/or routing occurs.
The foregoing objects are achieved as is now described. Provided are a method and system for use within at least one network. The method and system achieve their objects via computing equipment engineered to do the following: define one or more subnetworks within the at least one network; define one or more alternate data paths utilizing different criteria than that utilized by the network protocols controlling the one or more defined subnetworks; and designate that certain user data travel on the one or more alternate data paths.
The above as well as additional objects, features, and advantages of the present invention will become apparent in the following detailed written description.